/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sa4w.interfaces;

/**
 *
 * @author Leonardo Oliveira Moreira
 * 
 */
public interface Server {

    public boolean isServerConnected();
    
    public Response connectServer(String serverPath);
    
    public Response disconnectServer(String serverPath);
    
    public Object connectDatabase(String host, String database, String user, String password);
    
    public Response startDatabase(String serverPath, String databaseName);
        
    public Response stopDatabase(String serverPath, String databaseName);
    
    public Response disconnectDatabase(Object connection);
    
    public String[] getDatabases(String serverPath);

    public String[] getActiveDatabases(String serverPath);
    
    public String executeQuery(Object connection, String query) throws Exception;
    
    public Response createDatabase(String serverPath, String databaseName);
    
    public Response dropDatabase(String serverPath, String databaseName);

    public String[] getDocuments(Object connection, String databaseName) throws Exception;
    
}
